home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-06-11 | 6.2 KB | 287 lines | [TEXT/MPS ] |
- /*------------------------------------------------------------------------------
- #
- # Apple Macintosh Developer Technical Support
- #
- # MultiFinder-Aware Simple Sample Application
- #
- # Sample
- #
- # Sample.r - Rez Source
- #
- # Copyright © 1988 Apple Computer, Inc.
- # All rights reserved.
- #
- # Versions: 1.0 08/88
- # 1.01 11/88
- #
- # Components: Sample.p November 1, 1988
- # Sample.c November 1, 1988
- # Sample.a November 1, 1988
- # Sample.inc1.a November 1, 1988
- # SampleMisc.a November 1, 1988
- # Sample.r November 1, 1988
- # Sample.h November 1, 1988
- # [A]Sample.make November 1, 1988
- # [C]Sample.make November 1, 1988
- # [P]Sample.make November 1, 1988
- #
- # Sample is an example application that demonstrates how to
- # initialize the commonly used toolbox managers, operate
- # successfully under MultiFinder, handle desk accessories,
- # and create, grow, and zoom windows.
- #
- # It does not by any means demonstrate all the techniques
- # you need for a large application. In particular, Sample
- # does not cover exception handling, multiple windows/documents,
- # sophisticated memory management, printing, or undo. All of
- # these are vital parts of a normal full-sized application.
- #
- # This application is an example of the form of a Macintosh
- # application; it is NOT a template. It is NOT intended to be
- # used as a foundation for the next world-class, best-selling,
- # 600K application. A stick figure drawing of the human body may
- # be a good example of the form for a painting, but that does not
- # mean it should be used as the basis for the next Mona Lisa.
- #
- # We recommend that you review this program or TESample before
- # beginning a new application.
- ------------------------------------------------------------------------------*/
-
-
- #include "Types.r"
-
- #include "Sample.h"
-
-
- /* this is a definition for a resource which contains only a rectangle */
-
- type 'RECT' {
- rect;
- };
-
-
- /* we use an MBAR resource to conveniently load all the menus */
-
- resource 'MBAR' (rMenuBar, preload) {
- { mApple, mFile, mEdit, mOptions}; /* four menus */
- };
-
-
- resource 'MENU' (mApple, preload) {
- mApple, textMenuProc,
- AllItems & ~MenuItem2, /* Disable dashed line, enable About and DAs */
- enabled, apple,
- {
- "About PICTer…",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain
- }
- };
-
- resource 'MENU' (mFile, preload) {
- mFile, textMenuProc,
- MenuItem12, /* enable Quit only, program enables others */
- enabled, "File",
- {
- "New",
- noicon, "N", nomark, plain;
- "Open",
- noicon, "O", nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Close",
- noicon, "W", nomark, plain;
- "Save",
- noicon, "S", nomark, plain;
- "Save As…",
- noicon, nokey, nomark, plain;
- "Revert",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Page Setup…",
- noicon, nokey, nomark, plain;
- "Print…",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Quit",
- noicon, "Q", nomark, plain
- }
- };
-
- resource 'MENU' (mEdit, preload) {
- mEdit, textMenuProc,
- NoItems, /* disable everything, program does the enabling */
- enabled, "Edit",
- {
- "Undo",
- noicon, "Z", nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Cut",
- noicon, "X", nomark, plain;
- "Copy",
- noicon, "C", nomark, plain;
- "Paste",
- noicon, "V", nomark, plain;
- "Clear",
- noicon, nokey, nomark, plain
- }
- };
-
- resource 'MENU' (mOptions, preload) {
- mOptions, textMenuProc,
- NoItems, /* disable everything, program does the enabling */
- enabled, "Options",
- {
- "Convolve",
- noicon, nokey, nomark, plain
- }
- };
-
- /* this ALRT and DITL are used as an About screen */
-
- /* this ALRT and DITL are used as an error screen */
-
- resource 'ALRT' (rUserAlert, purgeable) {
- {40, 20, 120, 260},
- rUserAlert,
- { /* array: 4 elements */
- /* [1] */
- OK, visible, silent,
- /* [2] */
- OK, visible, silent,
- /* [3] */
- OK, visible, silent,
- /* [4] */
- OK, visible, silent
- }
- };
-
-
- resource 'DITL' (rUserAlert, purgeable) {
- { /* array DITLarray: 3 elements */
- /* [1] */
- {50, 150, 70, 230},
- Button {
- enabled,
- "OK"
- },
- /* [2] */
- {10, 60, 30, 230},
- StaticText {
- disabled,
- "PICTer - Error occurred!"
- },
- /* [3] */
- {8, 8, 40, 40},
- Icon {
- disabled,
- 2
- }
- }
- };
-
-
- resource 'WIND' (rWindow, preload, purgeable) {
- {60, 40, 290, 160},
- zoomDocProc, invisible, goAway, 0x0, "PICT"
- };
-
- resource 'CNTL' (rVScroll, preload, purgeable) {
- {-1, 385, 236, 401},
- 0, visible, 0, 0, scrollBarProc, 0, ""
- };
-
-
- resource 'CNTL' (rHScroll, preload, purgeable) {
- {235, -1, 251, 386},
- 0, visible, 0, 0, scrollBarProc, 0, ""
- };
-
- /* here is the quintessential MultiFinder friendliness device, the SIZE resource */
-
- resource 'SIZE' (-1) {
- dontSaveScreen,
- acceptSuspendResumeEvents,
- enableOptionSwitch,
- canBackground, /* we can background; we don't currently, but our sleep value */
- /* guarantees we don't hog the Mac while we are in the background */
- multiFinderAware, /* this says we do our own activate/deactivate; don't fake us out */
- backgroundAndForeground, /* this is definitely not a background-only application! */
- dontGetFrontClicks, /* change this is if you want "do first click" behavior like the Finder */
- ignoreChildDiedEvents, /* essentially, I'm not a debugger (sub-launching) */
- is32BitCompatible, /* this app should not be run in 32-bit address space */
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- kPrefSize * 1024,
- kMinSize * 1024
- };
-
- data 'ICN#' (128) {
- $$resource("sample.res", 'ICN#', 128)
- };
-
- data 'icl8' (128) {
- $$resource("sample.res", 'icl8', 128)
- };
-
- data 'icl4' (128) {
- $$resource("sample.res", 'icl4', 128)
- };
-
- data 'ics#' (128) {
- $$resource("sample.res", 'ics#', 128)
- };
-
- data 'ics8' (128) {
- $$resource("sample.res", 'ics8', 128)
- };
-
- data 'ics4' (128) {
- $$resource("sample.res", 'ics4', 128)
- };
-
- data 'ALRT' (rAboutAlert, purgeable) {
- $$resource("sample.res", 'ALRT', rAboutAlert)
- };
-
- data 'DITL' (rAboutAlert, purgeable) {
- $$resource("sample.res", 'DITL', rAboutAlert)
- };
-
- data 'PICT' (rAboutAlert, purgeable) {
- $$resource("sample.res", 'PICT', rAboutAlert)
- };
-
-
-
- resource 'BNDL' (128) {
- 'PVWr',
- 0,
- {
- 'ICN#',
- {
- 0, 128
- },
- 'FREF',
- {
- 0, 128
- }
- }
- };
-
- resource 'FREF' (128) {
- 'APPL',
- 0,
- ""
- };
-
-